# frozen_string_literal: true
class CustomWizard::ApiSerializer < ::ApplicationSerializer
  attributes :name, :title, :authorization, :endpoints, :log

  def authorization
    if authorization = CustomWizard::Api::Authorization.get(object.name)
      CustomWizard::Api::AuthorizationSerializer.new(authorization, root: false)
    end
  end

  def endpoints
    if endpoints = CustomWizard::Api::Endpoint.list(object.name)
      ActiveModel::ArraySerializer.new(
        endpoints,
        each_serializer: CustomWizard::Api::EndpointSerializer,
      )
    end
  end

  def log
    if log = CustomWizard::Api::LogEntry.list(object.name)
      ActiveModel::ArraySerializer.new(log, each_serializer: CustomWizard::Api::LogSerializer)
    end
  end
end
